/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ar.com.siglo21.ppo.persistence.dao;

import ar.com.siglo21.ppo.model.Estado;
import ar.com.siglo21.ppo.persistence.MySQLConnection;
import ar.com.siglo21.ppo.util.TrabajoIntegradorException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class EstadoDAOImpl implements EstadoDAO{

    @Override
    public void agregar(Estado object) throws TrabajoIntegradorException, SQLException {
           String sql="Insert into estado(descripcion) values ('"+object.getDescripcion()+"')";
       MySQLConnection.getDbCon().insertORDeleteORUpdate(sql);
    }

    @Override
    public boolean existe(Estado object) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void eliminar(Estado object) throws TrabajoIntegradorException, SQLException {
       String sql ="DELETE FROM estado where id="+object.getId();
        MySQLConnection.getDbCon().insertORDeleteORUpdate(sql);
    }

    @Override
    public Estado leer(int id) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void actualizar(Estado object) throws TrabajoIntegradorException, SQLException {
        String sql="UPDATE estado SET descripcion='"+object.getDescripcion()+"' where id="+object.getId();
       MySQLConnection.getDbCon().insertORDeleteORUpdate(sql);
    }

    @Override
    public List<Estado> listarEstados() throws SQLException, TrabajoIntegradorException {
        Estado estado;
        String sql ="SELECT * FROM estado";
        List<Estado> listaEstados = new ArrayList();
        ResultSet resulset = MySQLConnection.getDbCon().query(sql);
        
        while(resulset.next()){
            estado = new Estado();
            estado.setId(resulset.getInt(1));
            estado.setDescripcion(resulset.getString(2));
            listaEstados.add(estado);
        }
        
        return listaEstados;
    }

   
    
    
}
